# -*- coding: utf-8 -*-
"""
Created on Sun Aug 20 18:24:59 2023

@author: skunk69
"""

import json

chinese_name = u'中学生与其父母价值观差异问卷'
english_name = 'Questionnaire on the Differences in Values between Middle School Students and Their Parents'
abbreviation = 'QDV'
category = u'人生价值、态度量表'

outline = u"""当代中学生和其家长既有共同的生活背景，同时他们又有不同的生活经历，这使两代人对生活的体验、看法有着诸多差异并感到难以沟通。现代父母因其生活背景往往不能够接受现代孩子们流行的时尚和观点，父母往往用自己的知识背景、自己的人生价值观等来要求孩子。但是伴随着世界经济的全球化，西方的价值观与其先进的技术一起进入亚洲发展中国家，“个体主义”的价值取向改变着“集体主义''的生活模式，而原本对于传统价值观念内化程度不深的青年一代对于新的价值观更敏感、易于接受而嫌父母观念保守、思想落后，再加上父母和孩子双方缺乏适当的沟通与交流，就容易导致父母与孩子双方“代沟”的出现。在这样的背景下，准确了解和把握中学生与其家长之间的价值观差异特点，对于加强和改进中学德育工作，对于加强现代学校学生文化建设，对于中学生和其父母间进行有效沟通进而形成良好的亲子关系，使青少年顺利度过“亲子关系危机期”，最终形成良好的人格特征、健全的行为模式，都有重要的意义。
《中学生与其父母价值观差异问卷》由赵永萍和张进辅于2005年编制。研究者在以往文献资料、开放式问卷和相关量表题目的基础上，确定了中学生与其父母间具有差异的价值观主要表现在6个方面：学习、家庭、自我定向、人际、消费、闲暇。"""

instruction = u"""1.本问卷由一系列句子组成，内容涉及学习、交友等方面，请对这些观点进行评价。
2.每一题后都有“完全赞成”“比较赞成”“难以确定”“不太赞成”“完全不赞成”五个等级，请选择最符合您看法的一个等级。
3.答题时请不要费时考虑，答案也没有对错之分，请不要参考同学或父母的答案。每个题只有一种选择，请不要遗漏。"""

with open('QDV.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for line in lines:
    key,value = line.strip().split('.',maxsplit=1)
    items[key.strip()] = value.strip()

reverse_items = [2,10,23,27,46]+[15,21,39,41,43,47,56,32]+[4,35,48,65]+\
    [16]+[17,38,49]
scales = [u'学习',u'家庭',u'自我定向',u'人际',u'消费',u'闲暇']
scales_items = [
    [2,10,18,23,27,34,46,53,58,64,67],# 学习
    [1,7,15,19,21,26,29,32,36,39,41,43,47,52,56,60],# 家庭
    [14,22,24,28,33,37,40,44,50,55,57,61],# 自我定向
    [4,8,11,13,30,35,42,45,48,59,63,65],# 人际
    [5,9,16,20,31,51,62],# 消费
    [3,6,12,17,25,38,49,54,66],# 闲暇
    ]

# check scales_items
print(f'scale length={[len(l) for l in scales_items]}')

check = []
for l in scales_items:
    check = check+l
print(f'len(check)={len(check)}')

# complementary set
check_set = {i for i in sorted(check)}^{i for i in range(1,68)}
print(f'complementary set= {check_set}')

factors = []
factors_scales = []
rating = [u'完全赞成',u'比较赞成',u'难以确定',u'不太赞成',u'完全不赞成']
score_rules = list(range(5,0,-1))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《中学生与其父母价值观差异问卷》是一个自评量表。"""

reliability = u"""正式样本为重庆6所中学学生910例，男女性别和年级构成比大致相当。除闲暇选择的α系数为0.40外，问卷各维度的内部一致性系数都达到了0.50以上，对49名中学生进行重测，时间间隔为20天，重测信度都达到了0.53以上，且都达到非常显著的水平。"""
validity = u"""相关程度分析：各主因素和次因素与总量表的相关都较高，而因素内部之间的相关相对较低，量表的结构符合量表编制的基本要求，具有较好的结构效度。
验证性因素分析：采用AMOS4.0进行验证性因素分析；GFI、AGFI、NFI、CFI的值均在0.85以上，而且RMSEA的90%置信区间上限在0.08；模型的拟合效果比较好。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""各维度释义如下：
（1）学习维度，反映被测者对知识价值、学习目标和学习方式的看法。
（2）家庭维度，反映被测者对父母教养方式、家庭责任和家庭气氛的看法与评价。
（3）自我定向维度，反映被测者对独立、平等与隐私的看法与评价。
（4）人际维度，反映被测者对交友和处世的态度。
（5）消费维度，反映被测者对是否保持节俭与追求现代生活的评价。
（6）闲暇维度，反映被测者对闲暇支持与闲暇选择的态度。
将各维度题目相加得到各维度分所有67个条目得分之和即为该量表的总分。"""

applications = u"""无常模。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)